/**
 * 
 */
package br.unifor.mia.cd.middleware.arcademis.marshalable;

/**
 * Interface responsável por serializar um atributo de um objeto.
 * @author landim
 *
 */
public interface Marshaller {
	
	/**
	 * 
	 * @param fieldName
	 * @param obj - Objeto
	 * @return valor do atributo
	 */
	Object getFieldMarshalValue(String fieldName, Object obj);
	
	/**
	 * setar o valor do atributo
	 * @param fieldName
	 * @param obj - Objeto
	 * @param value - Valor serializado
	 */
	Object getFieldUnMarshalValue(String fieldName, Object obj, Object value);

}
